Nonvolatile memories may be used to store numerous disparate code and data types. Usage patterns for these data types have different characteristics that may affect the memory device in which they are stored in different ways.
For example, a typical flash memory device may store both execute in place (XIP) code as well as multimedia data. XIP code is typically infrequently updated and frequently read. Thus, XIP code can tolerate slow in-system write performance, requires fast, deterministic initial access, and tends to induce and be affected by read disturb mechanisms. Multimedia data, on the other hand, is typically frequently updated and infrequently read. Thus, multimedia data can tolerate slow and/or nondeterministic initial access times, requires high performance writes, and tends to induce and be affected by charge loss/gain mechanisms.
FIG. 1 is a graph (100) illustrating the initial cell state distribution for code and data. The X-axis (104) indicates the memory cell state, and the Y-axis (102) indicates the fraction of memory cells in a given state. When code and data are initially written to a memory device, the cell states are clearly defined in State A (106) and State B (108). A relatively large separation (110) exists between those cells in state A and state B, and thus it is relatively easy to detect the difference between state A and state B when reading the memory cell(s). Initially, this is true regardless of the type of data stored in the memory cell.
However, over time the XIP code may be infrequently refreshed and frequently read, as described above. This may cause disturbs on the states of the data stored in memory, which may cause the state distribution for code cells to shift to the right. Similarly, multimedia data may be frequently rewritten and infrequently read, causing a different type of memory disturb to occur. These disturbs may cause the state distribution for the data cells to shift to the left.
FIG. 2 is a graph (200) illustrating the cell state distribution for code and data after cell state disturbs have occurred. Due to the disturbs, the cell state distributions for cells in state A (206) and state B (208) have widened, and may overlap (210). Thus, it can be very difficult to identify a proper reference placement in order to discern the difference between states. This may lead to errors when performing a read of the cells.